import datasource.FileStream
import org.apache.flink.streaming.api.scala._

object Main {
  def main(args: Array[String]): Unit = {
    def main(args: Array[String]): Unit = {
      //1.设定执行环境
      val env = StreamExecutionEnvironment.getExecutionEnvironment
      //2.指定数据源 读取数据
      //从文件获取
      val text = FileStream.getFileStream(".", env)


      //3.对数据进行转换
      val counts: DataStream[(String, Int)] = text
        //转成大写然后按空格分割[String]=>[string]
        .flatMap(_.toUpperCase.split(" "))
        .filter(_.nonEmpty)
        //转换成key-value(word,1)
        .map((_, 1))
        //按照key进行分区,第一个字段进行分区
        .keyBy(0)
        //执行求和运算，第二个字段进行求和
        .sum(1)
      //4.指定计算结果输出位置
      counts.writeAsText(".")
      //5.指定名称触发流式任务
      env.execute("Streaming WordCount")
    }
  }
}
